from lxml import html


def parse():
    """ 将html文件中的内容，使用xpath经行提取 """
    # 读取文件中的内容
    f = open('./static/index.html', 'r', encoding='utf8')
    s = f.read()

    selector = html.fromstring(s)
    # 解析H3标题
    h3 = selector.xpath('/html/body/h3/text()')
    print(h3[0])

    # 解析ul里面的内容，先装大的，再装小的
    ul = selector.xpath('//ul/li')
    print(len(ul))
    for li in ul:
        print(li.xpath('text()')[0])

    # 解析ul下指定的元素值
    ul2 = selector.xpath('/html/body/ul/li[@class="important"]/text()')
    print(ul2)

    # 解析a标签的内容
    a = selector.xpath('//div[@id="container"]/a')

    # 标签内的内容
    print(a[0].xpath('text()')[0])

    # href属性
    print(a[0].xpath('@href'))

    # 解析P标签
    p = selector.xpath('/html/body/p[last()]/text()')
    print(p[0])

    #页面复制大发
    test = selector.xpath('/html/body/p[2]/text()')
    print(test)
    f.close()

if __name__ == '__main__':
    parse()
